{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:17.353401Z",
     "start_time": "2019-06-18T17:07:17.331654Z"
    }
   },
   "outputs": [],
   "source": [
    "import blackhc.notebook"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:17.626743Z",
     "start_time": "2019-06-18T17:07:17.617988Z"
    }
   },
   "outputs": [],
   "source": [
    "import recover_model\n",
    "import al_notebook.results_loader as rl\n",
    "import al_notebook.show_batch as sb\n",
    "import prettyprinter as pp\n",
    "import al_notebook.plots as alp"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:17.646540Z",
     "start_time": "2019-06-18T17:07:17.638086Z"
    }
   },
   "outputs": [],
   "source": [
    "import glob\n",
    "import os"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:17.736908Z",
     "start_time": "2019-06-18T17:07:17.723077Z"
    }
   },
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:17.916658Z",
     "start_time": "2019-06-18T17:07:17.899096Z"
    }
   },
   "outputs": [],
   "source": [
    "def get_labels(dataset, indices):\n",
    "    return [dataset[index][1] for index in indices]\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:18.023318Z",
     "start_time": "2019-06-18T17:07:18.011864Z"
    }
   },
   "outputs": [],
   "source": [
    "from dataclasses import dataclass\n",
    "\n",
    "@dataclass\n",
    "class Entropies:\n",
    "    entropies: list\n",
    "    step_entropies: list"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:18.188466Z",
     "start_time": "2019-06-18T17:07:18.164082Z"
    }
   },
   "outputs": [],
   "source": [
    "def get_bins(labels, num_classes=10):\n",
    "    buckets, count = np.unique(labels, return_counts=True)\n",
    "    density = count\n",
    "    \n",
    "    #print('\\n'.join(f'{l}: {c} ({d})' for l, c, d in zip(buckets, count, density)))\n",
    "    \n",
    "    bars = [0]*num_classes\n",
    "    for index, d in zip(buckets, density):\n",
    "       bars[index] = d\n",
    "    \n",
    "    return bars\n",
    "\n",
    "def plot_categories_counts(labels, num_classes=10, axes=None):\n",
    "    buckets, count = np.unique(labels, return_counts=True)\n",
    "    density = count \n",
    "    \n",
    "    #print('\\n'.join(f'{l}: {c} ({d})' for l, c, d in zip(buckets, count, density)))\n",
    "    \n",
    "    bars = [0]*num_classes\n",
    "    for index, d in zip(buckets, density):\n",
    "       bars[index] = d\n",
    "    \n",
    "    axes.set_ylabel('Acquisition count')\n",
    "    axes.set_xlabel('Label')\n",
    "    axes.bar(list(range(num_classes)), bars, tick_label=list(range(num_classes)))\n",
    "\n",
    "\n",
    "def get_label_entropy(labels):\n",
    "    buckets, count = np.unique(labels, return_counts=True)\n",
    "    density = count / len(labels)\n",
    "    entropy = -np.sum(density * np.log(density), axis=0)\n",
    "    return entropy"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:18.321604Z",
     "start_time": "2019-06-18T17:07:18.300277Z"
    }
   },
   "outputs": [],
   "source": [
    "def compute_acquisition_entropies(dataset, samples):\n",
    "    labels = []\n",
    "    entropies = []\n",
    "    step_entropies = []\n",
    "    for i, samples_i in enumerate(samples):\n",
    "        if len(samples_i) > 0:\n",
    "            labels.extend(get_labels(dataset, samples_i))\n",
    "            step_entropies.append(get_label_entropy(samples_i))\n",
    "        else:\n",
    "            step_entropies.append(0)\n",
    "            \n",
    "        entropies.append(get_label_entropy(labels))        \n",
    "        \n",
    "    #return Entropies(entropies, step_entropies)\n",
    "    return entropies"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:18.466342Z",
     "start_time": "2019-06-18T17:07:18.446068Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/blackhc/anaconda3/envs/active_learning/lib/python3.7/site-packages/ipykernel_launcher.py:1: RuntimeWarning: divide by zero encountered in log\n",
      "  \"\"\"Entry point for launching an IPython kernel.\n",
      "/home/blackhc/anaconda3/envs/active_learning/lib/python3.7/site-packages/ipykernel_launcher.py:1: RuntimeWarning: invalid value encountered in multiply\n",
      "  \"\"\"Entry point for launching an IPython kernel.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "nan"
      ]
     },
     "execution_count": 65,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.sum(np.asarray(0)*np.log(np.asarray(0)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:18.585465Z",
     "start_time": "2019-06-18T17:07:18.572741Z"
    }
   },
   "outputs": [],
   "source": [
    "plt.close('all')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:19.194245Z",
     "start_time": "2019-06-18T17:07:18.743748Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "emnist_independent_bald_k10_218487.py  emnist_multibald_bald_k100_706460.py\r\n",
      "emnist_independent_bald_k10_335690.py  emnist_multibald_bald_k100_728719.py\r\n",
      "emnist_independent_bald_k10_629535.py  emnist_multibald_bald_k100_779382.py\r\n",
      "emnist_independent_bald_k10_706460.py  emnist_multibald_bald_k10_218487.py\r\n",
      "emnist_independent_bald_k10_728719.py  emnist_multibald_bald_k10_335690.py\r\n",
      "emnist_independent_bald_k10_779382.py  emnist_multibald_bald_k10_629535.py\r\n",
      "emnist_multibald_bald_k100_218487.py   emnist_multibald_bald_k10_706460.py\r\n",
      "emnist_multibald_bald_k100_335690.py   emnist_multibald_bald_k10_728719.py\r\n",
      "emnist_multibald_bald_k100_629535.py   emnist_multibald_bald_k10_779382.py\r\n"
     ]
    }
   ],
   "source": [
    "%ls ./laaos_results/emnist_bbb/"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:19.628762Z",
     "start_time": "2019-06-18T17:07:19.195650Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "emnist_balanced_independent_random_k10_b5_107646.py\r\n",
      "emnist_balanced_independent_random_k10_b5_129113.py\r\n",
      "emnist_balanced_independent_random_k10_b5_267494.py\r\n",
      "emnist_balanced_independent_random_k10_b5_482739.py\r\n",
      "emnist_balanced_independent_random_k10_b5_507556.py\r\n",
      "emnist_balanced_independent_random_k10_b5_67927.py\r\n"
     ]
    }
   ],
   "source": [
    "%ls ./laaos_results/emnist_balanaced_random/"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:19.639526Z",
     "start_time": "2019-06-18T17:07:19.630078Z"
    }
   },
   "outputs": [],
   "source": [
    "import os"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:19.652837Z",
     "start_time": "2019-06-18T17:07:19.640830Z"
    }
   },
   "outputs": [],
   "source": [
    "batchbalds = list(map(lambda p: \"emnist_bbb/\" + os.path.basename(p), glob.glob('./laaos_results/emnist_bbb/*multibald*.py')))\n",
    "balds = list(map(lambda p: \"emnist_bbb/\" + os.path.basename(p), glob.glob('./laaos_results/emnist_bbb/*_independent_bald_*.py')))\n",
    "randoms = list(map(lambda p: \"emnist_balanaced_random/\" + os.path.basename(p), glob.glob('./laaos_results/emnist_balanaced_random/*.py')))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:19.663638Z",
     "start_time": "2019-06-18T17:07:19.653981Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['emnist_bbb/emnist_independent_bald_k10_629535.py',\n",
       " 'emnist_bbb/emnist_independent_bald_k10_218487.py',\n",
       " 'emnist_bbb/emnist_independent_bald_k10_779382.py',\n",
       " 'emnist_bbb/emnist_independent_bald_k10_728719.py',\n",
       " 'emnist_bbb/emnist_independent_bald_k10_335690.py',\n",
       " 'emnist_bbb/emnist_independent_bald_k10_706460.py']"
      ]
     },
     "execution_count": 71,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "balds"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:19.776355Z",
     "start_time": "2019-06-18T17:07:19.664945Z"
    }
   },
   "outputs": [],
   "source": [
    "stores = rl.load_experiment_results('emnist_bbb', 'emnist_balanaced_random')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:19.786817Z",
     "start_time": "2019-06-18T17:07:19.777316Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['emnist_bbb/emnist_multibald_bald_k10_706460.py',\n",
       " 'emnist_bbb/emnist_multibald_bald_k10_335690.py',\n",
       " 'emnist_bbb/emnist_multibald_bald_k100_629535.py',\n",
       " 'emnist_bbb/emnist_independent_bald_k10_629535.py',\n",
       " 'emnist_bbb/emnist_multibald_bald_k100_335690.py',\n",
       " 'emnist_bbb/emnist_independent_bald_k10_218487.py',\n",
       " 'emnist_bbb/emnist_multibald_bald_k10_779382.py',\n",
       " 'emnist_bbb/emnist_multibald_bald_k10_629535.py',\n",
       " 'emnist_bbb/emnist_independent_bald_k10_779382.py',\n",
       " 'emnist_bbb/emnist_independent_bald_k10_728719.py',\n",
       " 'emnist_bbb/emnist_multibald_bald_k100_706460.py',\n",
       " 'emnist_bbb/emnist_multibald_bald_k100_779382.py',\n",
       " 'emnist_bbb/emnist_independent_bald_k10_335690.py',\n",
       " 'emnist_bbb/emnist_multibald_bald_k10_218487.py',\n",
       " 'emnist_bbb/emnist_multibald_bald_k100_728719.py',\n",
       " 'emnist_bbb/emnist_multibald_bald_k100_218487.py',\n",
       " 'emnist_bbb/emnist_independent_bald_k10_706460.py',\n",
       " 'emnist_bbb/emnist_multibald_bald_k10_728719.py',\n",
       " 'emnist_balanaced_random/emnist_balanced_independent_random_k10_b5_107646.py',\n",
       " 'emnist_balanaced_random/emnist_balanced_independent_random_k10_b5_129113.py',\n",
       " 'emnist_balanaced_random/emnist_balanced_independent_random_k10_b5_267494.py',\n",
       " 'emnist_balanaced_random/emnist_balanced_independent_random_k10_b5_67927.py',\n",
       " 'emnist_balanaced_random/emnist_balanced_independent_random_k10_b5_507556.py',\n",
       " 'emnist_balanaced_random/emnist_balanced_independent_random_k10_b5_482739.py']"
      ]
     },
     "execution_count": 73,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "list(stores.keys())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:19.999379Z",
     "start_time": "2019-06-18T17:07:19.788292Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "al_notebook.results_loader._Result(\n",
      "    args=al_notebook.results_loader._args(\n",
      "        name='emnist_multibald_bald_k10_706460',\n",
      "        available_sample_k=5,\n",
      "        num_inference_samples=10,\n",
      "        seed=706460,\n",
      "        acquisition_method=acquisition_method.AcquisitionMethod.multibald,\n",
      "        experiment_description='EMNIST with b5 and k10, k100 with both BALD and BatchBALD',\n",
      "        type=acquisition_functions.AcquisitionFunction.bald,\n",
      "        batch_size=64,\n",
      "        scoring_batch_size=512,\n",
      "        test_batch_size=512,\n",
      "        validation_set_size=16384,\n",
      "        early_stopping_patience=3,\n",
      "        epochs=40,\n",
      "        epoch_samples=20224,\n",
      "        target_accuracy=0.85,\n",
      "        target_num_acquired_samples=300,\n",
      "        log_interval=20,\n",
      "        dataset=dataset_enum.DatasetEnum.emnist,\n",
      "        initial_samples=[],\n",
      "        experiment_task_id=5,\n",
      "        experiments_laaos='./experiment_configs/emnist_bbb/configs.py',\n",
      "        no_cuda=False,\n",
      "        quickquick=False,\n",
      "        initial_samples_per_class=2\n",
      "    ),\n",
      "    cmdline=[\n",
      "        './src/ignite_mnist.py',\n",
      "        '--experiment_task_id=5',\n",
      "        '--experiments_laaos=./experiment_configs/emnist_bbb/configs.py'\n",
      "    ],\n",
      "    iterations=[\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=0,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.023351063829787234,\n",
      "                nll=3.8639504609209427\n",
      "            ),\n",
      "            chosen_samples=[84786, 14413, 82022, 52923, 108364],\n",
      "            chosen_samples_score=[\n",
      "                0.02544231883480741,\n",
      "                0.049977948545158135,\n",
      "                0.07424278885734203,\n",
      "                0.10074216725503149,\n",
      "                0.1180729082450025\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.045159574468085106,\n",
      "                nll=42.67544086212808\n",
      "            ),\n",
      "            chosen_samples=[69842, 52392, 29931, 81355, 40170],\n",
      "            chosen_samples_score=[\n",
      "                1.1491635470365529,\n",
      "                1.7990818576595424,\n",
      "                2.117836270725051,\n",
      "                2.2175167348130187,\n",
      "                2.2638735494017324\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.07425531914893617,\n",
      "                nll=34.29351184926134\n",
      "            ),\n",
      "            chosen_samples=[75049, 21609, 49225, 1433, 103229],\n",
      "            chosen_samples_score=[\n",
      "                1.1072306815471566,\n",
      "                1.7014196599471092,\n",
      "                2.0056112803161597,\n",
      "                2.1422381162810367,\n",
      "                2.2037023840210157\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.11377659574468085,\n",
      "                nll=32.63286807121114\n",
      "            ),\n",
      "            chosen_samples=[34823, 77680, 42951, 108628, 66217],\n",
      "            chosen_samples_score=[\n",
      "                1.3365664964181634,\n",
      "                2.0805147065789074,\n",
      "                2.2506732789429895,\n",
      "                2.2762567359156987,\n",
      "                2.29639899191453\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.14760638297872342,\n",
      "                nll=33.1999511913543\n",
      "            ),\n",
      "            chosen_samples=[56465, 112385, 34554, 11252, 69048],\n",
      "            chosen_samples_score=[\n",
      "                1.4520687677440836,\n",
      "                2.093118690331536,\n",
      "                2.2514860440922613,\n",
      "                2.2936808453527298,\n",
      "                2.2996223894054677\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=5,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.15122340425531916,\n",
      "                nll=27.7207611506036\n",
      "            ),\n",
      "            chosen_samples=[91159, 20237, 72761, 35747, 66260],\n",
      "            chosen_samples_score=[\n",
      "                1.626958972735559,\n",
      "                2.168007123474445,\n",
      "                2.283160814075615,\n",
      "                2.309872148264854,\n",
      "                2.31550421958425\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.17335106382978724,\n",
      "                nll=28.137968266263922\n",
      "            ),\n",
      "            chosen_samples=[18764, 17154, 88854, 7400, 57852],\n",
      "            chosen_samples_score=[\n",
      "                1.5114808132798034,\n",
      "                2.1930029124125974,\n",
      "                2.2877220096238107,\n",
      "                2.3140234106877666,\n",
      "                2.312459652934325\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=5,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.17882978723404255,\n",
      "                nll=25.2840336657585\n",
      "            ),\n",
      "            chosen_samples=[53365, 49128, 57589, 21215, 37340],\n",
      "            chosen_samples_score=[\n",
      "                1.6440248447717978,\n",
      "                2.1821350155018306,\n",
      "                2.283383373270878,\n",
      "                2.3115246118090433,\n",
      "                2.311298330669408\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=7,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.1826063829787234,\n",
      "                nll=23.29394275746447\n",
      "            ),\n",
      "            chosen_samples=[39082, 23704, 105302, 66711, 21769],\n",
      "            chosen_samples_score=[\n",
      "                1.6965207269829665,\n",
      "                2.236951647182927,\n",
      "                2.2963157823688265,\n",
      "                2.3124470419405236,\n",
      "                2.307532066324599\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=7,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.19579787234042553,\n",
      "                nll=20.629137332997423\n",
      "            ),\n",
      "            chosen_samples=[36426, 49884, 93936, 13186, 63423],\n",
      "            chosen_samples_score=[\n",
      "                1.82444814096146,\n",
      "                2.24050185805162,\n",
      "                2.293735367958195,\n",
      "                2.299679594850041,\n",
      "                2.319313944066943\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=5,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.22159574468085105,\n",
      "                nll=21.492099864229242\n",
      "            ),\n",
      "            chosen_samples=[75195, 23224, 99357, 94075, 66594],\n",
      "            chosen_samples_score=[\n",
      "                1.7651389636174435,\n",
      "                2.2612237338922614,\n",
      "                2.2984638398089166,\n",
      "                2.28690646774895,\n",
      "                2.3187140395566814\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=5,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.2255851063829787,\n",
      "                nll=17.584936947924025\n",
      "            ),\n",
      "            chosen_samples=[42212, 59588, 106224, 97730, 15084],\n",
      "            chosen_samples_score=[\n",
      "                1.585213665225682,\n",
      "                2.203769109371151,\n",
      "                2.2820854343436103,\n",
      "                2.3060113091233982,\n",
      "                2.2955900824159223\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=5,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.23180851063829788,\n",
      "                nll=17.43231944632023\n",
      "            ),\n",
      "            chosen_samples=[14178, 4969, 62104, 111762, 89482],\n",
      "            chosen_samples_score=[\n",
      "                1.548965085159867,\n",
      "                2.1672157179420375,\n",
      "                2.281579433583301,\n",
      "                2.3011862208878653,\n",
      "                2.261099626468675\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.2378191489361702,\n",
      "                nll=16.789899942925636\n",
      "            ),\n",
      "            chosen_samples=[107378, 112249, 107410, 81504, 83297],\n",
      "            chosen_samples_score=[\n",
      "                1.6329583698433345,\n",
      "                2.200449091336181,\n",
      "                2.2794939369988,\n",
      "                2.27285744993621,\n",
      "                2.2939129360362904\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.2347872340425532,\n",
      "                nll=16.737637519024787\n",
      "            ),\n",
      "            chosen_samples=[98018, 43420, 9751, 88983, 8990],\n",
      "            chosen_samples_score=[\n",
      "                1.7714805364074868,\n",
      "                2.262118548447976,\n",
      "                2.296464898998316,\n",
      "                2.3029749039969962,\n",
      "                2.3000336791797062\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.2578191489361702,\n",
      "                nll=15.435384990610975\n",
      "            ),\n",
      "            chosen_samples=[104792, 57532, 28794, 60557, 30504],\n",
      "            chosen_samples_score=[\n",
      "                1.5809398567767505,\n",
      "                2.1782034667046837,\n",
      "                2.2816157602680516,\n",
      "                2.3020953759825153,\n",
      "                2.28241546084724\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.26824468085106384,\n",
      "                nll=13.225204889013412\n",
      "            ),\n",
      "            chosen_samples=[64325, 49265, 27814, 105809, 82932],\n",
      "            chosen_samples_score=[\n",
      "                1.6999586294699787,\n",
      "                2.2234926889586566,\n",
      "                2.2950902070564765,\n",
      "                2.3093091438846187,\n",
      "                2.3192444503443603\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=7,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.2810106382978723,\n",
      "                nll=14.824600047659366\n",
      "            ),\n",
      "            chosen_samples=[87650, 83160, 29132, 12763, 73343],\n",
      "            chosen_samples_score=[\n",
      "                1.7087984066745467,\n",
      "                2.2389605404394306,\n",
      "                2.2979648322124495,\n",
      "                2.2797238571465863,\n",
      "                2.324886260701658\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=5,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.27930851063829787,\n",
      "                nll=12.688466594777209\n",
      "            ),\n",
      "            chosen_samples=[63155, 35451, 41028, 13256, 12093],\n",
      "            chosen_samples_score=[\n",
      "                1.8066553854175988,\n",
      "                2.2860731743498035,\n",
      "                2.301413605494632,\n",
      "                2.321963851237652,\n",
      "                2.304111986179344\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.2997872340425532,\n",
      "                nll=12.361699318581438\n",
      "            ),\n",
      "            chosen_samples=[10559, 34669, 6320, 101738, 110683],\n",
      "            chosen_samples_score=[\n",
      "                1.733954012397148,\n",
      "                2.2318958314874764,\n",
      "                2.2911560811566005,\n",
      "                2.325167633143203,\n",
      "                2.295904359132443\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.3046276595744681,\n",
      "                nll=11.513779094777208\n",
      "            ),\n",
      "            chosen_samples=[83448, 42344, 1364, 33657, 94544],\n",
      "            chosen_samples_score=[\n",
      "                1.8547707200098857,\n",
      "                2.287559418348668,\n",
      "                2.300604741577399,\n",
      "                2.2788663460593113,\n",
      "                2.3004990874729785\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.3077659574468085,\n",
      "                nll=11.317619038845631\n",
      "            ),\n",
      "            chosen_samples=[10814, 111228, 109606, 46387, 33887],\n",
      "            chosen_samples_score=[\n",
      "                1.8523394430873203,\n",
      "                2.2602771910262267,\n",
      "                2.297825239404908,\n",
      "                2.3079219624476193,\n",
      "                2.298688264438607\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.3153191489361702,\n",
      "                nll=11.576263999127328\n",
      "            ),\n",
      "            chosen_samples=[83905, 105623, 73333, 13566, 59665],\n",
      "            chosen_samples_score=[\n",
      "                1.6775326576107614,\n",
      "                2.250815537247145,\n",
      "                2.2950198236498416,\n",
      "                2.292544956529896,\n",
      "                2.3173489535120058\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.33111702127659576,\n",
      "                nll=10.773492876418093\n",
      "            ),\n",
      "            chosen_samples=[110318, 15896, 103941, 23743, 74711],\n",
      "            chosen_samples_score=[\n",
      "                1.7325395573656874,\n",
      "                2.222389767246294,\n",
      "                2.2962887273403334,\n",
      "                2.30754567914207,\n",
      "                2.292355676204103\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.32180851063829785,\n",
      "                nll=10.507247997852081\n",
      "            ),\n",
      "            chosen_samples=[88380, 75341, 56627, 13838, 21526],\n",
      "            chosen_samples_score=[\n",
      "                1.833797677381734,\n",
      "                2.247979755491865,\n",
      "                2.293963858350718,\n",
      "                2.321062067361839,\n",
      "                2.3117139749342765\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.3451595744680851,\n",
      "                nll=10.12113175655933\n",
      "            ),\n",
      "            chosen_samples=[23293, 27500, 101870, 82926, 17653],\n",
      "            chosen_samples_score=[\n",
      "                1.773963869020369,\n",
      "                2.272650625070464,\n",
      "                2.300130007880944,\n",
      "                2.301761121843873,\n",
      "                2.310144877247816\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.3525,\n",
      "                nll=9.260567327458809\n",
      "            ),\n",
      "            chosen_samples=[101801, 73603, 57991, 28512, 65672],\n",
      "            chosen_samples_score=[\n",
      "                1.8874093491142525,\n",
      "                2.28156585716121,\n",
      "                2.299310086029629,\n",
      "                2.3064904085132802,\n",
      "                2.298314056248512\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.3398936170212766,\n",
      "                nll=9.044524179823854\n",
      "            ),\n",
      "            chosen_samples=[80228, 26362, 54771, 10070, 13411],\n",
      "            chosen_samples_score=[\n",
      "                1.684374972923231,\n",
      "                2.2237454688216323,\n",
      "                2.293035334801923,\n",
      "                2.3201363161141964,\n",
      "                2.307446046220772\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.36569148936170215,\n",
      "                nll=8.759038111098269\n",
      "            ),\n",
      "            chosen_samples=[98482, 110381, 97112, 103768, 23970],\n",
      "            chosen_samples_score=[\n",
      "                1.612167411099978,\n",
      "                2.151172128540785,\n",
      "                2.274708502800725,\n",
      "                2.3083796343743055,\n",
      "                2.333843350064792\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.3467021276595745,\n",
      "                nll=8.73126986564474\n",
      "            ),\n",
      "            chosen_samples=[74707, 66618, 62256, 100821, 30032],\n",
      "            chosen_samples_score=[\n",
      "                1.428384897622282,\n",
      "                2.093646796198361,\n",
      "                2.257123790282253,\n",
      "                2.288283194988159,\n",
      "                2.332604934203891\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.37574468085106383,\n",
      "                nll=8.477162411466558\n",
      "            ),\n",
      "            chosen_samples=[98910, 25916, 54556, 50235, 79360],\n",
      "            chosen_samples_score=[\n",
      "                1.7198813561547448,\n",
      "                2.2298994895851134,\n",
      "                2.2949543325669444,\n",
      "                2.3049252855396816,\n",
      "                2.290143913313507\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.37909574468085105,\n",
      "                nll=9.173283477133893\n",
      "            ),\n",
      "            chosen_samples=[24040, 53399, 84544, 29120, 21554],\n",
      "            chosen_samples_score=[\n",
      "                1.8256509688816198,\n",
      "                2.2695478966523455,\n",
      "                2.2994956126424473,\n",
      "                2.315222742419613,\n",
      "                2.3149543764864546\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.3845212765957447,\n",
      "                nll=8.527283977752036\n",
      "            ),\n",
      "            chosen_samples=[59182, 70883, 79681, 87357, 46184],\n",
      "            chosen_samples_score=[\n",
      "                1.8246746250041102,\n",
      "                2.2547952754914764,\n",
      "                2.298213810369415,\n",
      "                2.280515337039535,\n",
      "                2.317096966717507\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.3871276595744681,\n",
      "                nll=8.04019619069201\n",
      "            ),\n",
      "            chosen_samples=[59099, 10461, 76791, 102975, 69796],\n",
      "            chosen_samples_score=[\n",
      "                1.6656657886608723,\n",
      "                2.237000804754689,\n",
      "                2.295764433510682,\n",
      "                2.2922710471040486,\n",
      "                2.323943818308997\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.3836702127659574,\n",
      "                nll=7.7053330141432745\n",
      "            ),\n",
      "            chosen_samples=[53454, 27440, 40789, 44011, 109276],\n",
      "            chosen_samples_score=[\n",
      "                1.6683172622366864,\n",
      "                2.21182605855302,\n",
      "                2.2861775904997135,\n",
      "                2.287243915137687,\n",
      "                2.3218148712427893\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.3989893617021277,\n",
      "                nll=8.073184778335246\n",
      "            ),\n",
      "            chosen_samples=[69913, 40111, 88172, 89034, 66693],\n",
      "            chosen_samples_score=[\n",
      "                1.7038931745981603,\n",
      "                2.237487382110146,\n",
      "                2.297325826616004,\n",
      "                2.297265885210222,\n",
      "                2.3214396651287075\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.4042021276595745,\n",
      "                nll=7.424776103648734\n",
      "            ),\n",
      "            chosen_samples=[7547, 43487, 48222, 111466, 2600],\n",
      "            chosen_samples_score=[\n",
      "                1.5169551504010872,\n",
      "                2.150962024133875,\n",
      "                2.2748901565906943,\n",
      "                2.3006311104203183,\n",
      "                2.324223615504267\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.4152127659574468,\n",
      "                nll=7.612011125037011\n",
      "            ),\n",
      "            chosen_samples=[98840, 23841, 34258, 70173, 3648],\n",
      "            chosen_samples_score=[\n",
      "                1.6201108902063963,\n",
      "                2.1995310825381464,\n",
      "                2.2831030290900634,\n",
      "                2.2882139288306673,\n",
      "                2.294060842617113\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.41308510638297874,\n",
      "                nll=6.599519564851802\n",
      "            ),\n",
      "            chosen_samples=[16335, 2272, 76380, 57100, 9029],\n",
      "            chosen_samples_score=[\n",
      "                1.558089033385008,\n",
      "                2.191919014115912,\n",
      "                2.2821950307584515,\n",
      "                2.2901019194778423,\n",
      "                2.300666165217807\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.41138297872340424,\n",
      "                nll=7.401637190960823\n",
      "            ),\n",
      "            chosen_samples=[97740, 40494, 58357, 4597, 10997],\n",
      "            chosen_samples_score=[\n",
      "                1.6983563393067629,\n",
      "                2.2346726848622294,\n",
      "                2.294253447116829,\n",
      "                2.314680557015706,\n",
      "                2.319367722663254\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.4161170212765957,\n",
      "                nll=6.370075475408676\n",
      "            ),\n",
      "            chosen_samples=[16753, 20419, 18815, 38484, 9545],\n",
      "            chosen_samples_score=[\n",
      "                1.6953469602176858,\n",
      "                2.220090580721582,\n",
      "                2.2900794076842663,\n",
      "                2.2848312581543873,\n",
      "                2.2964669806293294\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.413031914893617,\n",
      "                nll=6.691843804704382\n",
      "            ),\n",
      "            chosen_samples=[100286, 39416, 86935, 89562, 87670],\n",
      "            chosen_samples_score=[\n",
      "                1.363112745020104,\n",
      "                2.03445190273616,\n",
      "                2.224027025171568,\n",
      "                2.2792405739629498,\n",
      "                2.316264836049905\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.4123404255319149,\n",
      "                nll=6.909083368828956\n",
      "            ),\n",
      "            chosen_samples=[61524, 24921, 81065, 81658, 24331],\n",
      "            chosen_samples_score=[\n",
      "                1.6061415818951281,\n",
      "                2.218544889189125,\n",
      "                2.289060854792014,\n",
      "                2.314950110088253,\n",
      "                2.300036738508518\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.4403723404255319,\n",
      "                nll=5.980298523598529\n",
      "            ),\n",
      "            chosen_samples=[87998, 12308, 100843, 8463, 104561],\n",
      "            chosen_samples_score=[\n",
      "                1.7040633778215781,\n",
      "                2.204568536942017,\n",
      "                2.2821391838717306,\n",
      "                2.3007649723354118,\n",
      "                2.2896423992277715\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.4397872340425532,\n",
      "                nll=6.1041904429171945\n",
      "            ),\n",
      "            chosen_samples=[54269, 27254, 16752, 66300, 94972],\n",
      "            chosen_samples_score=[\n",
      "                1.5463879619105096,\n",
      "                2.163326969271932,\n",
      "                2.275684497602603,\n",
      "                2.252874531299411,\n",
      "                2.293987589186094\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.42404255319148937,\n",
      "                nll=6.270636170164067\n",
      "            ),\n",
      "            chosen_samples=[50115, 105031, 69735, 13989, 80983],\n",
      "            chosen_samples_score=[\n",
      "                1.6571437850259458,\n",
      "                2.223591885415053,\n",
      "                2.291170278173394,\n",
      "                2.305904649384955,\n",
      "                2.291853910074978\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.45526595744680853,\n",
      "                nll=5.601974355819378\n",
      "            ),\n",
      "            chosen_samples=[105242, 112472, 72301, 44637, 62736],\n",
      "            chosen_samples_score=[\n",
      "                1.595752389139838,\n",
      "                2.1688350315239315,\n",
      "                2.2744707993521436,\n",
      "                2.294646936662483,\n",
      "                2.306833529405296\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.4568617021276596,\n",
      "                nll=5.426159730464854\n",
      "            ),\n",
      "            chosen_samples=[38636, 38896, 93165, 94129, 82328],\n",
      "            chosen_samples_score=[\n",
      "                1.6566087400887284,\n",
      "                2.2051126231478873,\n",
      "                2.2880494842035812,\n",
      "                2.310888448477398,\n",
      "                2.3237646481561343\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.4837234042553191,\n",
      "                nll=5.273241322700014\n",
      "            ),\n",
      "            chosen_samples=[16333, 86997, 97985, 6066, 73105],\n",
      "            chosen_samples_score=[\n",
      "                1.5680281971168335,\n",
      "                2.214245795140254,\n",
      "                2.291098075409641,\n",
      "                2.318523440682249,\n",
      "                2.293141160261144\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.4693617021276596,\n",
      "                nll=5.188050423074276\n",
      "            ),\n",
      "            chosen_samples=[47967, 48687, 76024, 76357, 70296],\n",
      "            chosen_samples_score=[\n",
      "                1.5474857719823123,\n",
      "                2.1305448100484883,\n",
      "                2.2602869628650186,\n",
      "                2.3003705423785825,\n",
      "                2.294517491022648\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.47712765957446807,\n",
      "                nll=5.010907484825621\n",
      "            ),\n",
      "            chosen_samples=[42430, 1484, 79024, 109345, 109396],\n",
      "            chosen_samples_score=[\n",
      "                1.4856322535807105,\n",
      "                2.1219790904865206,\n",
      "                2.2709788060306306,\n",
      "                2.2958741835556666,\n",
      "                2.3033578739313034\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.4848936170212766,\n",
      "                nll=4.791061867247237\n",
      "            ),\n",
      "            chosen_samples=[104763, 93032, 51878, 54429, 62923],\n",
      "            chosen_samples_score=[\n",
      "                1.6043836726576535,\n",
      "                2.1420353375515626,\n",
      "                2.2787022554394256,\n",
      "                2.3042164299228323,\n",
      "                2.3035994183331776\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.4838297872340426,\n",
      "                nll=4.936153255219155\n",
      "            ),\n",
      "            chosen_samples=[100460, 101086, 7034, 33084, 19993],\n",
      "            chosen_samples_score=[\n",
      "                1.5252555690907068,\n",
      "                2.1474071907125802,\n",
      "                2.2726061780728566,\n",
      "                2.271482525468431,\n",
      "                2.2900278412832913\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.5063829787234042,\n",
      "                nll=4.769558783186243\n",
      "            ),\n",
      "            chosen_samples=[31531, 78441, 68037, 85943, 64819],\n",
      "            chosen_samples_score=[\n",
      "                1.4921981961273756,\n",
      "                2.166831822235198,\n",
      "                2.272771965932317,\n",
      "                2.3045607845052736,\n",
      "                2.317571802958446\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.5038297872340426,\n",
      "                nll=4.620763326198497\n",
      "            ),\n",
      "            chosen_samples=[57059, 13994, 61909, 87131, 55543],\n",
      "            chosen_samples_score=[\n",
      "                1.5695552833370927,\n",
      "                2.1788149117825415,\n",
      "                2.285317030959296,\n",
      "                2.298480722912175,\n",
      "                2.3016191536061594\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.4951595744680851,\n",
      "                nll=4.817043928186944\n",
      "            ),\n",
      "            chosen_samples=[86803, 52241, 3290, 33184, 30452],\n",
      "            chosen_samples_score=[\n",
      "                1.5471954494052889,\n",
      "                2.1298501302774953,\n",
      "                2.2743448063359675,\n",
      "                2.2848445330118383,\n",
      "                2.318182796690593\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.5015425531914893,\n",
      "                nll=4.49741664034255\n",
      "            ),\n",
      "            chosen_samples=[12757, 43372, 68654, 103526, 28488],\n",
      "            chosen_samples_score=[\n",
      "                1.507172562394547,\n",
      "                2.1402403910805323,\n",
      "                2.2671242663718285,\n",
      "                2.293198740348773,\n",
      "                2.30418906762132\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.5156914893617022,\n",
      "                nll=4.465317120653518\n",
      "            ),\n",
      "            chosen_samples=[64640, 28344, 29922, 5147, 90897],\n",
      "            chosen_samples_score=[\n",
      "                1.5279578895910768,\n",
      "                2.14877050201623,\n",
      "                2.2782996541004588,\n",
      "                2.2960066969143895,\n",
      "                2.308125729453499\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.4926063829787234,\n",
      "                nll=4.665714473724365\n",
      "            ),\n",
      "            chosen_samples=[60490, 60718, 73503, 60273, 19362],\n",
      "            chosen_samples_score=[\n",
      "                1.6975613746732692,\n",
      "                2.218694569183691,\n",
      "                2.2910795364124823,\n",
      "                2.3050264844667545,\n",
      "                2.30223107478366\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        ),\n",
      "        al_notebook.results_loader._IterationsItem(\n",
      "            num_epochs=4,\n",
      "            test_metrics=al_notebook.results_loader._testMetrics(\n",
      "                accuracy=0.5224468085106383,\n",
      "                nll=4.091801652705416\n",
      "            ),\n",
      "            chosen_samples=[70038, 112050, 61900, 12206, 41592],\n",
      "            chosen_samples_score=[\n",
      "                1.491532664290108,\n",
      "                2.111832010950578,\n",
      "                2.2522206929076907,\n",
      "                2.2974922042847927,\n",
      "                2.2770235342465917\n",
      "            ],\n",
      "            chosen_samples_orignal_score=None\n",
      "        )\n",
      "    ],\n",
      "    initial_samples=[],\n",
      "    actual_name='emnist_multibald_bald_k10_706460.py',\n",
      "    actual_path='/home/blackhc/PycharmProjects/active_learning2/laaos_results/'\n",
      "        'emnist_bbb/emnist_multibald_bald_k10_706460.py',\n",
      "    tag='emnist_bbb'\n",
      ")\n"
     ]
    }
   ],
   "source": [
    "pp.pprint(rl.get_any(stores))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:20.246314Z",
     "start_time": "2019-06-18T17:07:20.001965Z"
    }
   },
   "outputs": [],
   "source": [
    "emnist_datasource = rl.dataset_enum.DatasetEnum.emnist.get_data_source()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:20.260319Z",
     "start_time": "2019-06-18T17:07:20.248097Z"
    }
   },
   "outputs": [],
   "source": [
    "emnist_train = rl.dataset_enum.data.ConcatDataset([emnist_datasource.train_dataset, emnist_datasource.validation_dataset])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:20.486721Z",
     "start_time": "2019-06-18T17:07:20.261832Z"
    }
   },
   "outputs": [],
   "source": [
    "def get_entropies(stores, keys):\n",
    "    entropies = []\n",
    "    for key in keys:\n",
    "        store = stores[key]\n",
    "        samples_i = rl.gather_samples_I(store)\n",
    "        acq_entropies = compute_acquisition_entropies(emnist_train, samples_i)\n",
    "        entropies.append(acq_entropies)\n",
    "    return entropies\n",
    "\n",
    "np_entropies = np.asarray(get_entropies(stores, balds))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:20.496186Z",
     "start_time": "2019-06-18T17:07:20.487884Z"
    }
   },
   "outputs": [],
   "source": [
    "def gather_samples_entropies(dataset, store):\n",
    "    samples_I = rl.gather_samples_I(store)\n",
    "    entropies_I = compute_acquisition_entropies(dataset, samples_I)\n",
    "    return list(zip(samples_I, entropies_I))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:20.507586Z",
     "start_time": "2019-06-18T17:07:20.497216Z"
    }
   },
   "outputs": [],
   "source": [
    "def aggregate_entropies(stores, keys, percentiles=None, thresholds=None):\n",
    "    accuracies_sample_points_T = [\n",
    "        rl.expand_samples_I_values_I(\n",
    "            gather_samples_entropies(emnist_train, stores[key]))\n",
    "        for key in keys\n",
    "    ]\n",
    "    return rl.aggregate_values_sample_points_T(accuracies_sample_points_T,\n",
    "                                                   percentiles=percentiles,\n",
    "                                                   thresholds=thresholds)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:28.388604Z",
     "start_time": "2019-06-18T17:07:27.445266Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "BatchBALD:\n",
      "90% at [0 0 0]\n",
      "95% at [0 0 0]\n",
      "BALD:\n",
      "90% at [0 0 0]\n",
      "95% at [0 0 0]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 504x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(7,5))\n",
    "plt.xlabel('Acquisition iteration')\n",
    "plt.ylabel('Entropy')\n",
    "alp.COLOR_ORDER[1], alp.COLOR_ORDER[2] = alp.COLOR_ORDER[2], alp.COLOR_ORDER[1]\n",
    "alp.plot_aggregated_groups({'BatchBALD': aggregate_entropies(stores, batchbalds), \n",
    "                            #'Random': aggregate_entropies(stores, randoms),\n",
    "                            'BALD': aggregate_entropies(stores, balds)}, show_thresholds=False, show_quantiles=False, show_num_trials=False)\n",
    "plt.xticks(ticks=list(range(0, 301, 50)), labels=[str(i) for i in range(0, 300//5+1, 10)])\n",
    "plt.axis([1, 300, 2, 3.85])\n",
    "plt.grid(True)\n",
    "plt.legend(loc='lower right')\n",
    "alp.COLOR_ORDER[1], alp.COLOR_ORDER[2] = alp.COLOR_ORDER[2], alp.COLOR_ORDER[1]\n",
    "\n",
    "output_path = blackhc.notebook.original_dir + '/entropy_labels_EMNIST.png'\n",
    "alp.plot_save(output_path, dpi=300)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:22.742196Z",
     "start_time": "2019-06-18T17:07:21.553864Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "BatchBALD:\n",
      "90% at [0 0 0]\n",
      "95% at [0 0 0]\n",
      "Random:\n",
      "90% at [0 0 0]\n",
      "95% at [0 0 0]\n",
      "BALD:\n",
      "90% at [0 0 0]\n",
      "95% at [0 0 0]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 504x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(7,5))\n",
    "plt.xlabel('Acquisition iteration')\n",
    "plt.ylabel('Entropy')\n",
    "#alp.COLOR_ORDER[1], alp.COLOR_ORDER[2] = alp.COLOR_ORDER[2], alp.COLOR_ORDER[1]\n",
    "alp.plot_aggregated_groups({'BatchBALD': aggregate_entropies(stores, batchbalds), 'Random': aggregate_entropies(stores, randoms), 'BALD': aggregate_entropies(stores, balds)}, show_thresholds=False, show_quantiles=False, show_num_trials=False)\n",
    "plt.xticks(ticks=list(range(0, 301, 50)), labels=[str(i) for i in range(0, 300//5+1, 10)])\n",
    "plt.axis([1, 300, 2, 3.85])\n",
    "plt.grid(True)\n",
    "plt.legend(loc='lower right')\n",
    "#alp.COLOR_ORDER[1], alp.COLOR_ORDER[2] = alp.COLOR_ORDER[2], alp.COLOR_ORDER[1]\n",
    "\n",
    "output_path = blackhc.notebook.original_dir + '/entropy_labels_EMNIST_w_random.png'\n",
    "alp.plot_save(output_path, dpi=300)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:22.833816Z",
     "start_time": "2019-06-18T17:07:22.743630Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(np.percentile(np_entropies, axis=0, q=[25, 50, 75]).T)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:22.849892Z",
     "start_time": "2019-06-18T17:07:22.835293Z"
    }
   },
   "outputs": [
    {
     "ename": "AttributeError",
     "evalue": "module 'al_notebook.results_loader' has no attribute 'aggregate_accuracies_sample_points_T'",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mAttributeError\u001b[0m                            Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-83-99e30cb3b9a9>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mrl\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0maggregate_accuracies_sample_points_T\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnp_entropies\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;31mAttributeError\u001b[0m: module 'al_notebook.results_loader' has no attribute 'aggregate_accuracies_sample_points_T'"
     ]
    }
   ],
   "source": [
    "rl.aggregate_accuracies_sample_points_T(np_entropies)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:22.851184Z",
     "start_time": "2019-06-18T17:07:21.497Z"
    }
   },
   "outputs": [],
   "source": [
    "np_entropies.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:22.852234Z",
     "start_time": "2019-06-18T17:07:21.625Z"
    }
   },
   "outputs": [],
   "source": [
    "pp.pprint(rl.gather_samples_I(stores['emnist_bbb/emnist_independent_bald_k10_218487.py']))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:22.853212Z",
     "start_time": "2019-06-18T17:07:21.760Z"
    }
   },
   "outputs": [],
   "source": [
    "samples_bald = rl.gather_samples_I(stores['emnist_bbb/emnist_independent_bald_k10_706460.py'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:22.854340Z",
     "start_time": "2019-06-18T17:07:21.912Z"
    }
   },
   "outputs": [],
   "source": [
    "samples_batchbald = rl.gather_samples_I(stores['emnist_bbb/emnist_multibald_bald_k10_706460.py'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:22.855320Z",
     "start_time": "2019-06-18T17:07:22.049Z"
    }
   },
   "outputs": [],
   "source": [
    "samples_random = rl.gather_samples_I(stores['emnist_balanaced_random/emnist_balanced_independent_random_k10_b5_107646.py'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:22.856376Z",
     "start_time": "2019-06-18T17:07:22.193Z"
    },
    "scrolled": false
   },
   "outputs": [],
   "source": [
    "\n",
    "bald_labels_I = [[]]\n",
    "batchbald_labels_I = [[]]\n",
    "\n",
    "for i, (samples_bald_i, samples_batchbald_i) in enumerate(zip(samples_bald, samples_batchbald)):\n",
    "    if len(samples_bald_i) == 0:\n",
    "        continue\n",
    "    bald_labels_I.append(get_labels(emnist_train, samples_bald_i) + bald_labels_I[-1])\n",
    "    batchbald_labels_I.append(get_labels(emnist_train, samples_batchbald_i) + batchbald_labels_I[-1])\n",
    "\n",
    "bald_labels_I.pop(0)\n",
    "batchbald_labels_I.pop(0)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:22.857382Z",
     "start_time": "2019-06-18T17:07:22.336Z"
    }
   },
   "outputs": [],
   "source": [
    "random_labels_I = [[]]\n",
    "\n",
    "for i in range(1, len(samples_random)):\n",
    "    random_labels_I.append(get_labels(emnist_train, samples_random[i]) + random_labels_I[-1])\n",
    "\n",
    "\n",
    "random_labels_I.pop(0)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:22.858296Z",
     "start_time": "2019-06-18T17:07:22.473Z"
    }
   },
   "outputs": [],
   "source": [
    "len(random_labels_I)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:22.859275Z",
     "start_time": "2019-06-18T17:07:22.601Z"
    }
   },
   "outputs": [],
   "source": [
    "import torch\n",
    "num_classes=47"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-18T17:07:22.860203Z",
     "start_time": "2019-06-18T17:07:22.721Z"
    }
   },
   "outputs": [],
   "source": [
    "bald_bins = torch.as_tensor(get_bins(bald_labels_I[-2], 47))\n",
    "random_bins = torch.as_tensor(get_bins(random_labels_I[-2], 47))\n",
    "batchbald_bins = torch.as_tensor(get_bins(batchbald_labels_I[-2], 47))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-17T18:52:06.645525Z",
     "start_time": "2019-06-17T18:52:06.613540Z"
    }
   },
   "outputs": [],
   "source": [
    "sorted_bald_indices = torch.argsort(bald_bins, descending=False)\n",
    "sorted_batchbald_indices = torch.argsort(batchbald_bins, descending=False)\n",
    "sorted_random_indices = torch.argsort(random_bins, descending=False)\n",
    "sorted_indices = torch.argsort(bald_bins + batchbald_bins, descending=True)\n",
    "\n",
    "permuted_batchbald = batchbald_bins[sorted_batchbald_indices]\n",
    "permuted_random = random_bins[sorted_random_indices]\n",
    "permuted_bald = bald_bins[sorted_bald_indices]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-17T18:53:25.003523Z",
     "start_time": "2019-06-17T18:53:24.992137Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(47,)"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "permuted_batchbald.numpy().shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-17T19:09:33.856407Z",
     "start_time": "2019-06-17T19:09:32.736411Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, axes = plt.subplots(nrows=1,\n",
    "                         ncols=2,\n",
    "                         squeeze=True,\n",
    "                         figsize=(20, 5),\n",
    "                         sharey=True)\n",
    "plt.tight_layout()\n",
    "axis = axes[0]\n",
    "axis.set_title('BatchBALD')\n",
    "axis.set_ylabel('Acquisition count')\n",
    "axis.set_xlabel('Label')\n",
    "\n",
    "\n",
    "def highlight_lower_half(axis,\n",
    "                         data,\n",
    "                         indices,\n",
    "                         alpha,\n",
    "                         color,\n",
    "                         show_only_half=False):\n",
    "    if show_only_half:\n",
    "        axis.bar(list(range(num_classes // 2)),\n",
    "                 data[:num_classes // 2],\n",
    "                 tick_label=list(indices)[:num_classes // 2],\n",
    "                 color=color,\n",
    "                 alpha=1)\n",
    "        return\n",
    "    axis.bar(list(range(num_classes)),\n",
    "             data,\n",
    "             tick_label=list(indices),\n",
    "             color=color,\n",
    "             alpha=alpha)\n",
    "    axis.bar(list(range(num_classes // 2)),\n",
    "             data[:num_classes // 2],\n",
    "             color=color,\n",
    "             alpha=1 - alpha)\n",
    "\n",
    "\n",
    "highlight_lower_half(axis, permuted_batchbald.numpy(),\n",
    "                     sorted_batchbald_indices, 0.3, 'C2', show_only_half=True)\n",
    "\n",
    "# axis = axes[1]\n",
    "# axis.set_title('Random')\n",
    "# axis.set_ylabel('Acquisition count')\n",
    "# axis.set_xlabel('Label')\n",
    "# axis.bar(list(range(num_classes)), permuted_random.numpy(), tick_label=list(sorted_random_indices), color='C1')\n",
    "\n",
    "axis = axes[1]\n",
    "axis.set_title('BALD')\n",
    "axis.set_ylabel('Acquisition count')\n",
    "axis.set_xlabel('Label')\n",
    "highlight_lower_half(axis, permuted_bald.numpy(), sorted_bald_indices, 0.3,\n",
    "                     'C3', show_only_half=True)\n",
    "\n",
    "output_path = blackhc.notebook.original_dir + '/histogram_labels_EMNIST.png'\n",
    "alp.plot_save(output_path, dpi=300)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-06-17T18:57:04.335144Z",
     "start_time": "2019-06-17T18:57:02.194104Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x360 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, axes= plt.subplots(nrows=1, ncols=3, squeeze=True, figsize=(20,5), sharey=True)\n",
    "plt.tight_layout()\n",
    "axis = axes[0]\n",
    "axis.set_title('BatchBALD')\n",
    "axis.set_ylabel('Acquisition count')\n",
    "axis.set_xlabel('Label')\n",
    "highlight_lower_half(axis, permuted_batchbald.numpy(), sorted_batchbald_indices, 0.3, 'C2')\n",
    "\n",
    "axis = axes[1]\n",
    "axis.set_title('Random')\n",
    "axis.set_ylabel('Acquisition count')\n",
    "axis.set_xlabel('Label')\n",
    "highlight_lower_half(axis, permuted_random.numpy(), sorted_random_indices, 0.3, 'C1')\n",
    "\n",
    "axis = axes[2]\n",
    "axis.set_title('BALD')\n",
    "axis.set_ylabel('Acquisition count')\n",
    "axis.set_xlabel('Label')\n",
    "highlight_lower_half(axis, permuted_bald.numpy(), sorted_bald_indices, 0.3, 'C3')\n",
    "    \n",
    "output_path = blackhc.notebook.original_dir + '/histogram_labels_EMNIST_w_random.png'\n",
    "alp.plot_save(output_path, dpi=300)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-05-22T18:20:11.186495Z",
     "start_time": "2019-05-22T18:20:11.110744Z"
    }
   },
   "outputs": [],
   "source": [
    "bald_labels = []\n",
    "batchbald_labels = []\n",
    "\n",
    "bald_entropies = []\n",
    "batchbald_entropies = []\n",
    "\n",
    "bald_step_entropies = []\n",
    "batchbald_step_entropies = []\n",
    "for i, (samples_bald_i, samples_batchbald_i) in enumerate(zip(samples_bald, samples_batchbald)):\n",
    "    if len(samples_bald_i) == 0:\n",
    "        continue\n",
    "    bald_labels.extend(get_labels(emnist_train, samples_bald_i))\n",
    "    batchbald_labels.extend(get_labels(emnist_train, samples_batchbald_i))\n",
    "    \n",
    "    bald_step_entropies.append(get_label_entropy(samples_bald_i))\n",
    "    batchbald_step_entropies.append(get_label_entropy(samples_batchbald_i))\n",
    "    \n",
    "    bald_entropies.append(get_label_entropy(bald_labels))\n",
    "    batchbald_entropies.append(get_label_entropy(batchbald_labels))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-05-22T18:20:11.569892Z",
     "start_time": "2019-05-22T18:20:11.499729Z"
    },
    "deletable": false,
    "editable": false,
    "run_control": {
     "frozen": true
    },
    "scrolled": false
   },
   "outputs": [],
   "source": [
    "pp.pprint(list(zip(bald_entropies, batchbald_entropies, bald_step_entropies, batchbald_step_entropies)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-05-22T18:20:12.013183Z",
     "start_time": "2019-05-22T18:20:11.988087Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['grayscale', 'seaborn-white', 'classic', 'seaborn', 'seaborn-ticks', 'seaborn-bright', 'seaborn-dark', 'seaborn-whitegrid', 'seaborn-poster', 'dark_background', 'seaborn-paper', 'seaborn-colorblind', 'fast', 'seaborn-pastel', 'Solarize_Light2', 'bmh', 'seaborn-deep', 'seaborn-dark-palette', 'seaborn-muted', 'ggplot', 'fivethirtyeight', 'seaborn-talk', 'seaborn-darkgrid', 'tableau-colorblind10', 'seaborn-notebook', '_classic_test']\n"
     ]
    }
   ],
   "source": [
    "print(plt.style.available)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-05-22T18:20:19.501984Z",
     "start_time": "2019-05-22T18:20:19.204121Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# #plt.title('Entropy of the frequency distribution of the acquired sample labels')\n",
    "# plt.figure(figsize=(5,5))\n",
    "# plt.xlabel('Acquisition iteration')\n",
    "# plt.ylabel('Entropy')\n",
    "# plt.plot(batchbald_entropies, label='BatchBALD', color='C2')\n",
    "# plt.plot(bald_entropies, label='BALD', color='C3')\n",
    "# plt.axis([1, 59, 2, 3.85])\n",
    "# plt.grid(True)\n",
    "# plt.legend(loc='lower right')\n",
    "\n",
    "# output_path = blackhc.notebook.original_dir + '/entropy_labels_EMNIST.png'\n",
    "# alp.plot_save(output_path, dpi=300)\n",
    "# plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.2"
  },
  "latex_envs": {
   "LaTeX_envs_menu_present": true,
   "autoclose": true,
   "autocomplete": true,
   "bibliofile": "biblio.bib",
   "cite_by": "apalike",
   "current_citInitial": 1,
   "eqLabelWithNumbers": true,
   "eqNumInitial": 1,
   "hotkeys": {
    "equation": "Ctrl-E",
    "itemize": "Ctrl-I"
   },
   "labels_anchors": false,
   "latex_user_defs": false,
   "report_style_numbering": false,
   "user_envs_cfg": false
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": false,
   "skip_h1_title": true,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
